[INFO] cloning repository https://github.com/SheSnake/game_client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SheSnake/game_client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 985b542cbeaa5a6a5eabb7db32309155da019aa7
[INFO] checking SheSnake/game_client against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/SheSnake/game_client on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SheSnake/game_client
[INFO] finished tweaking git repo https://github.com/SheSnake/game_client
[INFO] tweaked toml for git repo https://github.com/SheSnake/game_client written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/SheSnake/game_client already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f0d7b203755b73b4c7200ec241d000b2197f6c42d802b603cb92876aa29aa148
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f0d7b203755b73b4c7200ec241d000b2197f6c42d802b603cb92876aa29aa148", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f0d7b203755b73b4c7200ec241d000b2197f6c42d802b603cb92876aa29aa148", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0d7b203755b73b4c7200ec241d000b2197f6c42d802b603cb92876aa29aa148", kill_on_drop: false }`
[INFO] [stdout] f0d7b203755b73b4c7200ec241d000b2197f6c42d802b603cb92876aa29aa148
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a90dbeec932cbc54b1b5d74638eb8089787d85e47deae8a0c27ecbb24f4e57d6
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a90dbeec932cbc54b1b5d74638eb8089787d85e47deae8a0c27ecbb24f4e57d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.3.2
[INFO] [stderr]    Compiling syn v1.0.14
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling tokio-macros v0.2.4
[INFO] [stderr]     Checking tokio v0.2.11
[INFO] [stderr]     Checking serde v1.0.104
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking serde_bytes v0.10.5
[INFO] [stderr]     Checking game_client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut stream = TcpStream::connect("0.0.0.0:8890");
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut stream = TcpStream::connect("0.0.0.0:8890");
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         println!("auth {} fail", msg.code);
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:166:86
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         println!("read unknow msg type:{}, len:{}", header.msg_type, header.len);
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:139:65
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   room_id = String::from_utf8(result.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:145:117
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         println!("user_id:{}, in room_id:{}, op_type:{} code:{}", user_id, room_id, result.op_type, result.code);
[INFO] [stdout]     |                                                                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:155:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let room_id = String::from_utf8(snapshot.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:57
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:180:67
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   println!("recv begin card: {:?}", update.provide_cards);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:112
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...   println!("cur_round:{} cur_step:{} user: {} on_hand:{:?} recv new card: {:?}", update.game_info.cur_game_round, update.game_info.cu...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:145
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...v new card: {:?}", update.game_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, up...
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:177
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:203
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...pdate.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:97
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:130
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:162
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:97
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:130
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:163
[INFO] [stdout]     |
[INFO] [stdout] 206 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:97
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:130
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:163
[INFO] [stdout]     |
[INFO] [stdout] 209 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:97
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:130
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:163
[INFO] [stdout]     |
[INFO] [stdout] 212 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:101
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   println!("cur_round:{} cur_step:{} user: {}, win by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step...
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:134
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update....
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:167
[INFO] [stdout]     |
[INFO] [stdout] 215 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...ist.operations[0].game_info.cur_game_round, op_list.operations[0].game_info.cur_game_step);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |                         for op in op_list.operations.iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:228:81
[INFO] [stdout]     |
[INFO] [stdout] 228 |                         let data: &[u8] = &bincode::serialize::<GameOperation>(&op_list.operations[0]).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:242:77
[INFO] [stdout]     |
[INFO] [stdout] 242 | ...                   let mut content = format!("round {} over:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:235:78
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   let mut content = format!("round {} start:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:237:81
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:244:81
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:253:53
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         println!("game over: {:?}", over.user_cur_score);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         println!("auth {} fail", msg.code);
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:166:86
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         println!("read unknow msg type:{}, len:{}", header.msg_type, header.len);
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:139:65
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   room_id = String::from_utf8(result.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:145:117
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         println!("user_id:{}, in room_id:{}, op_type:{} code:{}", user_id, room_id, result.op_type, result.code);
[INFO] [stdout]     |                                                                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:155:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let room_id = String::from_utf8(snapshot.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:57
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:180:67
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   println!("recv begin card: {:?}", update.provide_cards);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:112
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...   println!("cur_round:{} cur_step:{} user: {} on_hand:{:?} recv new card: {:?}", update.game_info.cur_game_round, update.game_info.cu...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:145
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...v new card: {:?}", update.game_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, up...
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:177
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:203
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...pdate.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:97
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:130
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:162
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:97
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:130
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:163
[INFO] [stdout]     |
[INFO] [stdout] 206 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:97
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:130
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:163
[INFO] [stdout]     |
[INFO] [stdout] 209 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:97
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:130
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:163
[INFO] [stdout]     |
[INFO] [stdout] 212 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:101
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   println!("cur_round:{} cur_step:{} user: {}, win by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step...
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:134
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update....
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:167
[INFO] [stdout]     |
[INFO] [stdout] 215 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...ist.operations[0].game_info.cur_game_round, op_list.operations[0].game_info.cur_game_step);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |                         for op in op_list.operations.iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:228:81
[INFO] [stdout]     |
[INFO] [stdout] 228 |                         let data: &[u8] = &bincode::serialize::<GameOperation>(&op_list.operations[0]).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:242:77
[INFO] [stdout]     |
[INFO] [stdout] 242 | ...                   let mut content = format!("round {} over:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:235:78
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   let mut content = format!("round {} start:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:237:81
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:244:81
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:253:53
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         println!("game over: {:?}", over.user_cur_score);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_manage_result`
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_to_room_manage_result(data: Vec<u8>) -> RoomManageResult {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_update`
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_to_room_update(data: Vec<u8>) -> RoomUpdate {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |                         stream.write(data);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_manage_result`
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_to_room_manage_result(data: Vec<u8>) -> RoomManageResult {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_update`
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_to_room_update(data: Vec<u8>) -> RoomUpdate {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |                         stream.write(data);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 54.13s
[INFO] running `Command { std: "docker" "inspect" "a90dbeec932cbc54b1b5d74638eb8089787d85e47deae8a0c27ecbb24f4e57d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a90dbeec932cbc54b1b5d74638eb8089787d85e47deae8a0c27ecbb24f4e57d6", kill_on_drop: false }`
[INFO] [stdout] a90dbeec932cbc54b1b5d74638eb8089787d85e47deae8a0c27ecbb24f4e57d6
